/*  ###################################################################
 **     Filename  : KwikStik_SegLCD.c
 **     Project   : KwikStik Swing Counter Watch demo
 **     Target    : KwikStik V.5
 **     Author    : mvinkler
 **     Abstract  :
 **         This is module contains high level driver routines for KwikStik segment LCD.
 **
 ** ###################################################################*/

#ifndef KWIKSTIK_SEGLCD_H_
#define KWIKSTIK_SEGLCD_H_

typedef enum {
	LCD_GRPH_SEG_SIGNAL = 1, 
	LCD_GRPH_SEG_USB = 4,
	LCD_GRPH_SEG_CLOCK = 8,
	LCD_GRPH_FSL_LOGO = 16,
	LCD_GRPH_JLINK_LOGO = 32,
	LCD_GRPH_BAT_FULL = 64,
	LCD_GRPH_BAT_EMPTY = 128
} TSegLcdGraphSegment;


/*
 ** ====================================================================================
 ** Displays one character on segment LCD at position specified by parameter posX  
 ** ====================================================================================
 */
void lcd_DisplayChar(LDD_TDeviceData *lcdDevicePtr, int16_t posX, char ch);

/*
 ** ====================================================================================
 ** Displays string on segment LCD at position specified by parameter posX  
 ** ====================================================================================
 */
void lcd_DisplayString(LDD_TDeviceData *lcdDevicePtr, int16_t posX, char *str);

/*
 ** ====================================================================================
 ** Enables/Disables the LCD graphical segment specified by parameter lcdSegment 
 ** ====================================================================================
 */
void lcd_SetGraphSegment(LDD_TDeviceData *lcdDevicePtr, TSegLcdGraphSegment lcdSegment, bool state);

/*
 ** ====================================================================================
 ** Gets status of the LCD graphical segment specified by parameter lcdSegment 
 ** ====================================================================================
 */
bool lcd_GetGraphSegment(LDD_TDeviceData *lcdDevicePtr, TSegLcdGraphSegment lcdSegment);

/*
 ** ====================================================================================
 ** Clears the segment LCD text area 
 ** ====================================================================================
 */
void lcd_ClearScreen(LDD_TDeviceData *lcdDevicePtr);


#endif /* KWIKSTIK_SEGLCD_H_ */
